Gitee 使用指南 立即购买
返回顶部
客户文档 / 客户端sdk集成 / Android 接入

Android 接入

最近更新:2026-01-13

本文从使用限制、接入步骤,结合示例代码介绍Android客户端的接入流程。

1. 使用限制

Android SDK使用限制如下:

  • 不支持模拟器模式调试。
  • 仅支持Android 4.4及以上系统版本的移动智能设备(手机或Pad)接入。

2. 接入步骤.

2.1 前期准备

接入前需要进行权限配置和SDK依赖配置,您可以参考下面的步骤操作。

2.1.1 权限说明

Android SDK中使用的权限已经在SDK包中声明,无需开发者显式声明。

权限内容

使用目的

android.permission.CAMERA

使用相机进行人脸识别。

android.permission.RECORD_AUDIO

录制音频,用于适配录制。

android.permission.WRITE_EXTERNAL_STORAGE

视频录制本地保存

2.1.2 依赖配置

下载 Android SDK ,改SDK为Android标准AAR包。

下载完毕之后解压,将Android SDK文件夹中的所有aar文件拷贝到主工程模块下的libs目录中(具体以工程实际配置为准),并在模块对应的build.gradle文件中添加如下依赖:

dependencies {
    implementation files('libs/eshundasdk-release.aar')
    implementation 'com.google.code.gson:gson:2.8.6'
    implementation 'com.alibaba:fastjson:1.2.70'
    implementation 'com.squareup.okhttp3:okhttp:4.9.1'
    implementation 'androidx.core:core:1.7.0'
}

2.1.3 混淆配置

如果您的工程使用了代码混淆,请务必在App工程的proguard-rules.pro文件中添加如下配置信息,以防止接口被混淆处理后造成功能异常。

-keep class com.eshunda.ldt.** { *; }
-keep class com.eshunda.ldtsdk.** { *; }
-dontwarn com.eshunda.ldt.**

2.2 调用SDK

前期准备完成后,需要按下面三个动作,完成SDK刷脸活体检测。

初始化 (authInit)

开始认证 (startLivingDetect)

处理认证结果

2.2.1 初始化 (authInit)

调用该函数完成SDK内部初始化。请务必做延迟初始化配置,确保在用户同意《隐私权政策》后,在人脸识别业务场景中初始化SDK。

// 认证初始化
InitConfig config = new InitConfig();
config.setLivingType(2); // 设置活体检测类型
sdkManager.authInit(config);

2.2.2 开始认证

调用该函数拉起SDK刷脸活体检测页面,引导用户完成活体检测。

sdkManager.startLivingDetect(token, DetectCallback)

2.2.3 处理认证结果

认证结果通过 DetectCallback 方法提供的DetectResult 对象传入

DetectResult 对象包含了诸多属性,结果处理主要关注code(结果编码)和reason(结果原因)即可,常见的编码和原因如下表所示。

错误码

是否计费

错误码文案

错误码描述

SUCCESS

刷脸成功

用户完成了刷脸过程,认证建议结果为通过。

EXCEPTION

系统错误

表示系统错误。

CANCEL

验证中断

表示验证中断。

PERMISSION

用户拒绝授权

用户没有允许摄像头或者麦克风权限

TIMEOUT

认证超时

检测过程中,长时间没有通过检测

DetectResult结果示例:

{
    "code": "SUCCESS",   // 状态码 
    "msg": "成功",        // 状态码描述
    "token": "token...", // 传入认证时的token
    "data": "data"       // 一般是认证结果信息 
}

2.2.4 完整代码示例

// 认证初始化
InitConfig config = new InitConfig();
config.setLivingType(2); // 设置活体检测类型
DetectResult initResult = sdkManager.verifyInit(config);
if (initResult.getCode() == DetectErrorCode.SUCCESS) {
    // 初始化成功,开始活体检测
    String token = "your_token_from_server"; // 从服务器获取的token
    sdkManager.startLivingDetect(token, new DetectCallback() {
        @Override
        public void onFinish(DetectResult result) {
            // 处理检测结果
            switch (result.getCode()) {
                case SUCCESS:
                    // 检测成功
                    String data = result.getData();
                    break;
                case CANCEL:
                    // 用户取消
                    break;
                case PERMISSION:
                    // 权限不足
                    break;
                case EXCEPTION:
                    // 异常
                    break;
            }
        }
    });
} else {
    // 初始化失败
    Log.e("SDK", "初始化失败: " + initResult.getMsg());
}

2.2.5 接入demo